import useUserStore from "@/store/modules/user";

// 请求基地址
const BaseURL = import.meta.env.VITE_API_BASE_URL;

const userStore = useUserStore();

// 请求前拦截器
function requestInterceptor(options: any) {
    // #ifdef H5
    const requestUrl = options.url;
    // #endif
    // #ifndef H5
    const requestUrl = BaseURL + options.url;
    // #endif
    options.url = requestUrl;

    // 获取token信息
    const token = userStore.token;
    if (token) {
        // 添加请求头中jwt token信息
        options.headers = {
            ...options.headers,
            // token信息需要放在请求头中
            Authorization: `Bearer ${token}`
        };
    } 

    // 是否请求前校验登录
    if (options.checkLogin && !token) {
        uni.showToast({
            title: '请先登录',
            icon: 'none'
        });
        throw new Error('请先登录');
    }
    return options;
}

export default requestInterceptor;